package cn.iocoder.yudao.module.distm.controller.admin.quarterplan.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalTime;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 配送管理-季度计划新增/修改 Request VO")
@Data
public class QuarterPlanSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "10774")
    private Long id;

    @Schema(description = "配餐单位", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "配餐单位不能为空")
    private String mealUnit;

    @Schema(description = "航班号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "航班号不能为空")
    private String flightNo;

    @Schema(description = "机型", example = "1")
    private String aircraftType;

    @Schema(description = "班期(如:1234567)")
    private String schPat;

    @Schema(description = "起飞地点")
    private String depLoc;

    @Schema(description = "起飞站点三字代码")
    private String depIata;

    @Schema(description = "起飞时间")
    private LocalTime depTime;

    @Schema(description = "降落地点")
    private String arrLoc;

    @Schema(description = "降落站点三字代码")
    private String arrIata;

    @Schema(description = "降落时间")
    private LocalTime arrTime;

    @Schema(description = "公布飞行时长(分钟)")
    private String flyDur;

    @Schema(description = "平均空中实际飞行时间(分钟)")
    private String avgActualDur;

    @Schema(description = "航班性质", example = "1")
    private String flightType;

    @Schema(description = "商务舱餐谱")
    private Integer bussClassMeal;

    @Schema(description = "高级经济舱餐谱")
    private Integer premEcoClassMeal;

    @Schema(description = "经济舱餐谱")
    private Integer ecoClassMeal;

    @Schema(description = "机组餐谱")
    private Integer crewMeal;

    @Schema(description = "周配餐量")
    private Integer weeklyMealQty;

    @Schema(description = "所属公司")
    private String airlineComp;

    @Schema(description = "所属公司三字代码")
    private String airlineIata;

    @Schema(description = "航线类别", example = "1")
    private String airlineType;

    @Schema(description = "执行日期")
    private String effectiveDate;

    @Schema(description = "备注")
    private String remarks;

    @Schema(description = "小水放袋/盒")
    private Boolean isWaterPkg;

    @Schema(description = "联程航班")
    private Boolean isConnFlight;

    @Schema(description = "航食站点")
    private String cateringSite;

    @Schema(description = "非标")
    private String nonStd;

    @Schema(description = "匹配")
    private Boolean isMatche;

    @Schema(description = "航班量统计", example = "19672")
    private Integer flightCount;

}